<!--
  功能：功能描述
  作者：kangjie
  邮箱：kangjie@briup.com
  时间：2021年12月20日 15:02:24
  版本：v1.0
  修改记录：
  修改内容：
  修改人员：
  修改时间：
-->
<template>
  <div class>
    <el-form :inline="true">
      <!-- 第一行添加按钮搜索框 -->
      <el-form-item>
        <el-button type="primary">添加</el-button>
      </el-form-item>
      <el-form-item>
        <el-input v-model="form.rolename" placeholder="请输入会员名"></el-input>
      </el-form-item>
      <el-form-item>
        <el-button type="primary" icon="el-icon-search">搜索</el-button>
      </el-form-item>
    </el-form>
    <!-- 第二行 -->
    <div>
      <el-table :data="tableData" style="width: 100%">
        <el-table-column type="index" :index="1" label="序号" width="100" align='center'></el-table-column>
        <el-table-column prop="username" label="会员名" width="180" align='center'></el-table-column>
        <el-table-column prop="realname" label="姓名" align='center'></el-table-column>
        <el-table-column label="性别" align='center'>
          <template slot-scope="scope">
            <span v-if="scope.row.gender==='male'"> 男<i class=" el-icon-male "></i></span>
            <span v-else-if="scope.row.gender==='female'" >女<i class="el-icon-female"></i></span>
            <span v-else>无</span>
          </template>
        </el-table-column>
        <el-table-column label="状态" align='center'>
          <template slot-scope="scope">
            <el-tag type="success">{{scope.row.status}}</el-tag>
          </template>
        </el-table-column>
        <el-table-column prop="telephone" label="手机号" align='center'></el-table-column>
        <el-table-column fixed="right" label="操作" align='center' width='140px'>
          <el-button type="text">移除</el-button>
          <el-button type="text">修改</el-button>
          <el-button type="text">详情</el-button>
        </el-table-column>
      </el-table>
    </div>
  </div>
</template>

<script>
import { get, post, del } from "@/utils/request";
import { log } from "@antv/g2plot/lib/utils";
export default {
  // 组件名称
  name: "demo",
  // 组件参数 接收来自父组件的数据
  props: {},
  // 组件状态值
  data() {
    return {
      form: {},
      tableData: [],
      params: {
        page: 1,
        pageSize: 10,
        rolename: "会员"
      }
    };
  },
  // 计算属性
  computed: {},
  // 侦听器
  watch: {},
  // 组件方法
  methods: {
    // 分页查询会员信息
    findAllMembers() {
      let temp = {
        ...this.params,
        ...this.form
      };
      for (let key in temp) {
        if (!temp[key]) {
          delete temp[key];
        }
      }
      get("/baseUser/pageQuery", temp).then(res => {
        this.tableData = res.data.list;
      });
    }
  },
  // 以下是生命周期钩子
  /**
   * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
   */
  created() {
    this.findAllMembers();
  },
  /**
   * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
   * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
   */
  mounted() {},
  /**
   * 实例销毁之前调用。在这一步，实例仍然完全可用。
   */
  beforeDestroy() {},
  /**
   * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
   * 所有的事件监听器会被移除，所有的子实例也会被销毁。
   */
  destroyed() {}
};
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<!--这么设计的目的是父组件可以对子组件根元素进行布局。-->
<style scoped>
</style>
